1. Field of the Invention
The present invention relates to a graphics transformation engine, and more particularly, to a process and apparatus for decomposing small input polygons representing an image into trapezoids which can be rendered more efficiently by a raster scan conversion system.
2. Description of the Prior Art
Prior art raster graphics systems generally contain two distinct parts: a graphics transformation engine that transforms and lights the geometric description of a scene in accordance with the user's viewpoint and a renderer that paints the transformed scene onto a display screen. As is well known, the geometric description of the scene may comprise a combination of a plurality of polygons having an arbitrary number of sides. In other words, the 3-dimensional image to be displayed has been described as a surface composed of polygons of differing shadings. As used herein such a "polygon" refers to an ordered set of vertices V[1]. . . V[N] where N is the vertex count for the polygon. These vertices specify the N edges of the polygon, which are line segments E[1]. . . E[N] with end points made up of respective vertices V[1]. . . V[N]. For example, line segment E[1] may have end points V[1] and V[2], while line segment E[2] has end points V[2] and V[3]. Such polygons may be identified by the graphics transformation engine as a sequence of graphics primitives including information such as the coordinates (X,Y,Z) of the vertices of each polygon as well as the shading information for each of the vertices and instructions which are processed in the graphics transformation engine for all pixel-level rendering computations.
Such geometric representations of a scene greatly facilitate the processing by a graphics transformation engine which is necessary for rendering the pixel image data to the display screen. The graphics transformation engines typically perform many tasks on such data including graphics context management, matrix transformation calculations, spline tessellation and lighting model computations. The transformation engines may also control vector and polygon rendering hardware. However, such computations are generally quite complex and time-consuming and require much processing power, and the resulting processing difficulties have often been the primary limitation upon the speed by which images may be rendered in conventional raster graphics systems.
The most common proposal for solving the above-mentioned problem has been to increase the processing power of the graphics transformation engines. For example, a plurality of transformation engines have been provided in parallel so that the processing of each of the respective polygons may be performed in parallel. However, such systems are quite complicated and expensive and still do not process the polygons efficiently. As a result, the processing efficiency for graphics primitives information has been heretofore severely limited. Thus, it is desirable that means be provided for improving the processing efficiency of graphics transformation engines so that even complex 3-dimensional images containing numerous simple polygons may be rendered at interactive rates.
Accordingly, there is a long-felt need in the art for a process and apparatus for enhancing the performance of conventional graphics transformation engines so that input polygons may be processed at truly interactive rates. There is also a long-felt need in the art for a system which can accelerate the rendering of simple polygons such as triangles and quadrilaterals so that faster and easier scan conversion down the graphics pipeline may be achieved. The present invention has been designed to meet these needs.